package cn.tedu._06notice.mapper;

import cn.tedu._06notice.pojo.dto.NoticeAddParam;
import cn.tedu._06notice.pojo.dto.NoticeQuery;
import cn.tedu._06notice.pojo.entity.Notice;
import cn.tedu._06notice.pojo.vo.NoticeDetailInfoVO;
import cn.tedu._06notice.pojo.vo.NoticeListVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface NoticeMapper {
    int insertNotice(Notice notice);

    /*
    * Mapper接口方法参数未使用@Param 注解：
    * 当Mapper接口方法有多个参数时，MyBatis默认会把参数命名为 arg0, arg1, ...
    * 或者param1, param2, ...。
    * 要是SQL语句里直接使用自定义的参数名，就会出现找不到参数的错误。*/
    List<NoticeListVO> listNotice(@Param("title") String title,
                                  @Param("type") Integer type);

    NoticeDetailInfoVO getNoticeDetail(Long id);

    int deleteNotice(Long id);

    int updateNotice(Notice notice);
}
